0 Prolog
↳1 PrologToDTProblemTransformerProof (⇒, 189 ms)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇒, 275 ms)
↳4 PiDP
↳5 DependencyGraphProof (⇔, 23 ms)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 PiDP
↳10 PiDPToQDPProof (⇒, 0 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 PiDP
↳15 UsableRulesProof (⇔, 0 ms)
↳16 PiDP
↳17 PiDPToQDPProof (⇒, 0 ms)
↳18 QDP
↳19 QDPSizeChangeProof (⇔, 0 ms)
↳20 YES
↳21 PiDP
↳22 UsableRulesProof (⇔, 0 ms)
↳23 PiDP
↳24 PiDPToQDPProof (⇒, 15 ms)
↳25 QDP
↳26 Rewriting (⇔, 199 ms)
↳27 QDP
↳28 Rewriting (⇔, 0 ms)
↳29 QDP
↳30 QDPQMonotonicMRRProof (⇔, 1416 ms)
↳31 QDP
↳32 DependencyGraphProof (⇔, 0 ms)
↳33 TRUE
↳34 PiDP
↳35 UsableRulesProof (⇔, 0 ms)
↳36 PiDP
↳37 PiDPToQDPProof (⇒, 0 ms)
↳38 QDP
↳39 Rewriting (⇔, 0 ms)
↳40 QDP
↳41 UsableRulesProof (⇔, 0 ms)
↳42 QDP
↳43 QReductionProof (⇔, 0 ms)
↳44 QDP
↳45 QDPOrderProof (⇔, 0 ms)
↳46 QDP
↳47 DependencyGraphProof (⇔, 0 ms)
↳48 TRUE
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → U13_GA(X1, X2, X3, X4, splitD_in_agaa(X2, X3, X5, X6))
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → SPLITD_IN_AGAA(X2, X3, X5, X6)
SPLITD_IN_AGAA(X1, X2, .(X1, X3), X4) → U2_AGAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3))
SPLITD_IN_AGAA(X1, X2, .(X1, X3), X4) → SPLITA_IN_GAA(X2, X4, X3)
SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) → U1_GAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3))
SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) → SPLITA_IN_GAA(X2, X4, X3)
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → U14_GA(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U15_GA(X1, X2, X3, X4, mergesortB_in_ga(.(X1, X6), X7))
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → MERGESORTB_IN_GA(.(X1, X6), X7)
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U16_GA(X1, X2, X3, X4, X5, mergesortcB_in_ga(.(X1, X6), X7))
U16_GA(X1, X2, X3, X4, X5, mergesortcB_out_ga(.(X1, X6), X7)) → U17_GA(X1, X2, X3, X4, mergesortE_in_ga(X5, X8))
U16_GA(X1, X2, X3, X4, X5, mergesortcB_out_ga(.(X1, X6), X7)) → MERGESORTE_IN_GA(X5, X8)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → U3_GA(X1, X2, X3, X4, splitD_in_agaa(X1, .(X2, X3), X5, X6))
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → SPLITD_IN_AGAA(X1, .(X2, X3), X5, X6)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U5_GA(X1, X2, X3, X4, mergesortE_in_ga(X5, X7))
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → MERGESORTE_IN_GA(X5, X7)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U8_GA(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U8_GA(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U9_GA(X1, X2, X3, X4, X5, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U9_GA(X1, X2, X3, X4, X5, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U10_GA(X1, X2, X3, X4, X5, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U10_GA(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U11_GA(X1, X2, X3, X4, X5, mergeC_in_gga(.(X4, X8), X9, X5))
U10_GA(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X7, .(X4, X9))) → MERGEC_IN_GGA(.(X4, X8), X9, X5)
MERGEC_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) → U12_GGA(X1, X2, X3, X4, mergeC_in_gga(.(X1, X2), X3, X4))
MERGEC_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) → MERGEC_IN_GGA(.(X1, X2), X3, X4)
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U6_GA(X1, X2, X3, X4, X6, mergesortcE_in_ga(X5, X7))
U6_GA(X1, X2, X3, X4, X6, mergesortcE_out_ga(X5, X7)) → U7_GA(X1, X2, X3, X4, mergesortE_in_ga(X6, X8))
U6_GA(X1, X2, X3, X4, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6, X8)
U16_GA(X1, X2, X3, X4, X5, mergesortcB_out_ga(.(X1, X6), X7)) → U18_GA(X1, X2, X3, X4, X7, mergesortcE_in_ga(X5, X8))
U18_GA(X1, X2, X3, X4, X7, mergesortcE_out_ga(X5, X8)) → U19_GA(X1, X2, X3, X4, mergeC_in_gga(X7, X8, X4))
U18_GA(X1, X2, X3, X4, X7, mergesortcE_out_ga(X5, X8)) → MERGEC_IN_GGA(X7, X8, X4)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
mergesortcB_in_ga([], []) → mergesortcB_out_ga([], [])
mergesortcB_in_ga(.(X1, []), .(X1, [])) → mergesortcB_out_ga(.(X1, []), .(X1, []))
mergesortcB_in_ga(.(X1, .(X2, X3)), X4) → U22_ga(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U22_ga(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_in_ga(.(X1, X6), X7))
U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_out_ga(.(X1, X6), X7)) → U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X5, X8))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
mergecC_in_gga([], X1, X1) → mergecC_out_gga([], X1, X1)
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
mergecC_in_ggg([], X1, X1) → mergecC_out_ggg([], X1, X1)
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X5, X8)) → U25_ga(X1, X2, X3, X4, mergecC_in_gga(X7, X8, X4))
U25_ga(X1, X2, X3, X4, mergecC_out_gga(X7, X8, X4)) → mergesortcB_out_ga(.(X1, .(X2, X3)), X4)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → U13_GA(X1, X2, X3, X4, splitD_in_agaa(X2, X3, X5, X6))
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → SPLITD_IN_AGAA(X2, X3, X5, X6)
SPLITD_IN_AGAA(X1, X2, .(X1, X3), X4) → U2_AGAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3))
SPLITD_IN_AGAA(X1, X2, .(X1, X3), X4) → SPLITA_IN_GAA(X2, X4, X3)
SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) → U1_GAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3))
SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) → SPLITA_IN_GAA(X2, X4, X3)
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → U14_GA(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U15_GA(X1, X2, X3, X4, mergesortB_in_ga(.(X1, X6), X7))
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → MERGESORTB_IN_GA(.(X1, X6), X7)
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U16_GA(X1, X2, X3, X4, X5, mergesortcB_in_ga(.(X1, X6), X7))
U16_GA(X1, X2, X3, X4, X5, mergesortcB_out_ga(.(X1, X6), X7)) → U17_GA(X1, X2, X3, X4, mergesortE_in_ga(X5, X8))
U16_GA(X1, X2, X3, X4, X5, mergesortcB_out_ga(.(X1, X6), X7)) → MERGESORTE_IN_GA(X5, X8)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → U3_GA(X1, X2, X3, X4, splitD_in_agaa(X1, .(X2, X3), X5, X6))
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → SPLITD_IN_AGAA(X1, .(X2, X3), X5, X6)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U5_GA(X1, X2, X3, X4, mergesortE_in_ga(X5, X7))
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → MERGESORTE_IN_GA(X5, X7)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U8_GA(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U8_GA(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U9_GA(X1, X2, X3, X4, X5, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U9_GA(X1, X2, X3, X4, X5, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U10_GA(X1, X2, X3, X4, X5, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U10_GA(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U11_GA(X1, X2, X3, X4, X5, mergeC_in_gga(.(X4, X8), X9, X5))
U10_GA(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X7, .(X4, X9))) → MERGEC_IN_GGA(.(X4, X8), X9, X5)
MERGEC_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) → U12_GGA(X1, X2, X3, X4, mergeC_in_gga(.(X1, X2), X3, X4))
MERGEC_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) → MERGEC_IN_GGA(.(X1, X2), X3, X4)
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U6_GA(X1, X2, X3, X4, X6, mergesortcE_in_ga(X5, X7))
U6_GA(X1, X2, X3, X4, X6, mergesortcE_out_ga(X5, X7)) → U7_GA(X1, X2, X3, X4, mergesortE_in_ga(X6, X8))
U6_GA(X1, X2, X3, X4, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6, X8)
U16_GA(X1, X2, X3, X4, X5, mergesortcB_out_ga(.(X1, X6), X7)) → U18_GA(X1, X2, X3, X4, X7, mergesortcE_in_ga(X5, X8))
U18_GA(X1, X2, X3, X4, X7, mergesortcE_out_ga(X5, X8)) → U19_GA(X1, X2, X3, X4, mergeC_in_gga(X7, X8, X4))
U18_GA(X1, X2, X3, X4, X7, mergesortcE_out_ga(X5, X8)) → MERGEC_IN_GGA(X7, X8, X4)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
mergesortcB_in_ga([], []) → mergesortcB_out_ga([], [])
mergesortcB_in_ga(.(X1, []), .(X1, [])) → mergesortcB_out_ga(.(X1, []), .(X1, []))
mergesortcB_in_ga(.(X1, .(X2, X3)), X4) → U22_ga(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U22_ga(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_in_ga(.(X1, X6), X7))
U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_out_ga(.(X1, X6), X7)) → U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X5, X8))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
mergecC_in_gga([], X1, X1) → mergecC_out_gga([], X1, X1)
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
mergecC_in_ggg([], X1, X1) → mergecC_out_ggg([], X1, X1)
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X5, X8)) → U25_ga(X1, X2, X3, X4, mergecC_in_gga(X7, X8, X4))
U25_ga(X1, X2, X3, X4, mergecC_out_gga(X7, X8, X4)) → mergesortcB_out_ga(.(X1, .(X2, X3)), X4)
MERGEC_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) → MERGEC_IN_GGA(.(X1, X2), X3, X4)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
mergesortcB_in_ga([], []) → mergesortcB_out_ga([], [])
mergesortcB_in_ga(.(X1, []), .(X1, [])) → mergesortcB_out_ga(.(X1, []), .(X1, []))
mergesortcB_in_ga(.(X1, .(X2, X3)), X4) → U22_ga(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U22_ga(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_in_ga(.(X1, X6), X7))
U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_out_ga(.(X1, X6), X7)) → U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X5, X8))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
mergecC_in_gga([], X1, X1) → mergecC_out_gga([], X1, X1)
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
mergecC_in_ggg([], X1, X1) → mergecC_out_ggg([], X1, X1)
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X5, X8)) → U25_ga(X1, X2, X3, X4, mergecC_in_gga(X7, X8, X4))
U25_ga(X1, X2, X3, X4, mergecC_out_gga(X7, X8, X4)) → mergesortcB_out_ga(.(X1, .(X2, X3)), X4)
MERGEC_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) → MERGEC_IN_GGA(.(X1, X2), X3, X4)
MERGEC_IN_GGA(.(X2), .(X3)) → MERGEC_IN_GGA(.(X2), X3)
From the DPs we obtained the following set of size-change graphs:
SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) → SPLITA_IN_GAA(X2, X4, X3)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
mergesortcB_in_ga([], []) → mergesortcB_out_ga([], [])
mergesortcB_in_ga(.(X1, []), .(X1, [])) → mergesortcB_out_ga(.(X1, []), .(X1, []))
mergesortcB_in_ga(.(X1, .(X2, X3)), X4) → U22_ga(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U22_ga(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_in_ga(.(X1, X6), X7))
U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_out_ga(.(X1, X6), X7)) → U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X5, X8))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
mergecC_in_gga([], X1, X1) → mergecC_out_gga([], X1, X1)
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
mergecC_in_ggg([], X1, X1) → mergecC_out_ggg([], X1, X1)
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X5, X8)) → U25_ga(X1, X2, X3, X4, mergecC_in_gga(X7, X8, X4))
U25_ga(X1, X2, X3, X4, mergecC_out_gga(X7, X8, X4)) → mergesortcB_out_ga(.(X1, .(X2, X3)), X4)
SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) → SPLITA_IN_GAA(X2, X4, X3)
SPLITA_IN_GAA(.(X2)) → SPLITA_IN_GAA(X2)
From the DPs we obtained the following set of size-change graphs:
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → MERGESORTE_IN_GA(X5, X7)
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U6_GA(X1, X2, X3, X4, X6, mergesortcE_in_ga(X5, X7))
U6_GA(X1, X2, X3, X4, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6, X8)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
mergesortcB_in_ga([], []) → mergesortcB_out_ga([], [])
mergesortcB_in_ga(.(X1, []), .(X1, [])) → mergesortcB_out_ga(.(X1, []), .(X1, []))
mergesortcB_in_ga(.(X1, .(X2, X3)), X4) → U22_ga(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U22_ga(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_in_ga(.(X1, X6), X7))
U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_out_ga(.(X1, X6), X7)) → U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X5, X8))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
mergecC_in_gga([], X1, X1) → mergecC_out_gga([], X1, X1)
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
mergecC_in_ggg([], X1, X1) → mergecC_out_ggg([], X1, X1)
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X5, X8)) → U25_ga(X1, X2, X3, X4, mergecC_in_gga(X7, X8, X4))
U25_ga(X1, X2, X3, X4, mergecC_out_gga(X7, X8, X4)) → mergesortcB_out_ga(.(X1, .(X2, X3)), X4)
MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → MERGESORTE_IN_GA(X5, X7)
U4_GA(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U6_GA(X1, X2, X3, X4, X6, mergesortcE_in_ga(X5, X7))
U6_GA(X1, X2, X3, X4, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6, X8)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
MERGESORTE_IN_GA(.(.(X3))) → U4_GA(X3, splitcD_in_agaa(.(X3)))
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → MERGESORTE_IN_GA(X5)
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → U6_GA(X3, X6, mergesortcE_in_ga(X5))
U6_GA(X3, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6)
splitcD_in_agaa(X2) → U26_agaa(X2, splitcA_in_gaa(X2))
mergesortcE_in_ga([]) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.([])) → mergesortcE_out_ga(.([]), .([]))
mergesortcE_in_ga(.(.(X3))) → U27_ga(X3, splitcD_in_agaa(.(X3)))
mergesortcE_in_ga(.(.(X3))) → U32_ga(X3, splitcD_in_agaa(.(X3)))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U28_ga(X3, X6, mergesortcE_in_gg(X5, []))
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U30_ga(X3, X6, mergesortcE_in_ga(X5))
U32_ga(X3, splitcD_out_agaa(.(X3), X6, X7)) → U33_ga(X3, X7, mergesortcE_in_ga(X6))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U28_ga(X3, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X3, mergesortcE_in_ga(X6))
U30_ga(X3, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X3, X4, mergesortcE_in_gg(X6, []))
U33_ga(X3, X7, mergesortcE_out_ga(X6, .(X8))) → U34_ga(X3, X8, mergesortcE_in_ga(X7))
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(.(X3)), X4) → U27_gg(X3, X4, splitcD_in_agaa(.(X3)))
U29_ga(X3, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(.(X3)), X4)
U31_ga(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(.(X3)), X4)
U34_ga(X3, X8, mergesortcE_out_ga(X7, .(X9))) → U35_ga(X3, mergecC_in_gga(.(X8), X9))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U28_gg(X3, X4, X6, mergesortcE_in_gg(X5, []))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U30_gg(X3, X4, X6, mergesortcE_in_gg(X5, X4))
U35_ga(X3, mergecC_out_gga(.(X8), X9, X5)) → mergesortcE_out_ga(.(.(X3)), .(X5))
U28_gg(X3, X4, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X3, X4, mergesortcE_in_gg(X6, X4))
U30_gg(X3, X4, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X3, X4, mergesortcE_in_gg(X6, []))
mergecC_in_gga(X1, []) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X2), .(X3)) → U36_gga(X2, X3, mergecC_in_gga(.(X2), X3))
U29_gg(X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(.(X3)), X4)
mergesortcE_in_gg(.([]), .([])) → mergesortcE_out_gg(.([]), .([]))
mergesortcE_in_gg(.(.(X3)), .(X5)) → U32_gg(X3, X5, splitcD_in_agaa(.(X3)))
U31_gg(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(.(X3)), X4)
U36_gga(X2, X3, mergecC_out_gga(.(X2), X3, X4)) → mergecC_out_gga(.(X2), .(X3), .(X4))
U32_gg(X3, X5, splitcD_out_agaa(.(X3), X6, X7)) → U33_gg(X3, X5, X7, mergesortcE_in_ga(X6))
U33_gg(X3, X5, X7, mergesortcE_out_ga(X6, .(X8))) → U34_gg(X3, X5, X8, mergesortcE_in_ga(X7))
U34_gg(X3, X5, X8, mergesortcE_out_ga(X7, .(X9))) → U35_gg(X3, X5, mergecC_in_ggg(.(X8), X9, X5))
U35_gg(X3, X5, mergecC_out_ggg(.(X8), X9, X5)) → mergesortcE_out_gg(.(.(X3)), .(X5))
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X2), .(X3), .(X4)) → U36_ggg(X2, X3, X4, mergecC_in_ggg(.(X2), X3, X4))
U36_ggg(X2, X3, X4, mergecC_out_ggg(.(X2), X3, X4)) → mergecC_out_ggg(.(X2), .(X3), .(X4))
splitcD_in_agaa(x0)
mergesortcE_in_ga(x0)
U26_agaa(x0, x1)
U27_ga(x0, x1)
U32_ga(x0, x1)
splitcA_in_gaa(x0)
U28_ga(x0, x1, x2)
U30_ga(x0, x1, x2)
U33_ga(x0, x1, x2)
U21_gaa(x0, x1)
mergesortcE_in_gg(x0, x1)
U29_ga(x0, x1)
U31_ga(x0, x1, x2)
U34_ga(x0, x1, x2)
U27_gg(x0, x1, x2)
U35_ga(x0, x1)
U28_gg(x0, x1, x2, x3)
U30_gg(x0, x1, x2, x3)
mergecC_in_gga(x0, x1)
U29_gg(x0, x1, x2)
U31_gg(x0, x1, x2)
U36_gga(x0, x1, x2)
U32_gg(x0, x1, x2)
U33_gg(x0, x1, x2, x3)
U34_gg(x0, x1, x2, x3)
U35_gg(x0, x1, x2)
mergecC_in_ggg(x0, x1, x2)
U36_ggg(x0, x1, x2, x3)
MERGESORTE_IN_GA(.(.(X3))) → U4_GA(X3, U26_agaa(.(X3), splitcA_in_gaa(.(X3))))
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → MERGESORTE_IN_GA(X5)
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → U6_GA(X3, X6, mergesortcE_in_ga(X5))
U6_GA(X3, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6)
MERGESORTE_IN_GA(.(.(X3))) → U4_GA(X3, U26_agaa(.(X3), splitcA_in_gaa(.(X3))))
splitcD_in_agaa(X2) → U26_agaa(X2, splitcA_in_gaa(X2))
mergesortcE_in_ga([]) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.([])) → mergesortcE_out_ga(.([]), .([]))
mergesortcE_in_ga(.(.(X3))) → U27_ga(X3, splitcD_in_agaa(.(X3)))
mergesortcE_in_ga(.(.(X3))) → U32_ga(X3, splitcD_in_agaa(.(X3)))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U28_ga(X3, X6, mergesortcE_in_gg(X5, []))
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U30_ga(X3, X6, mergesortcE_in_ga(X5))
U32_ga(X3, splitcD_out_agaa(.(X3), X6, X7)) → U33_ga(X3, X7, mergesortcE_in_ga(X6))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U28_ga(X3, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X3, mergesortcE_in_ga(X6))
U30_ga(X3, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X3, X4, mergesortcE_in_gg(X6, []))
U33_ga(X3, X7, mergesortcE_out_ga(X6, .(X8))) → U34_ga(X3, X8, mergesortcE_in_ga(X7))
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(.(X3)), X4) → U27_gg(X3, X4, splitcD_in_agaa(.(X3)))
U29_ga(X3, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(.(X3)), X4)
U31_ga(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(.(X3)), X4)
U34_ga(X3, X8, mergesortcE_out_ga(X7, .(X9))) → U35_ga(X3, mergecC_in_gga(.(X8), X9))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U28_gg(X3, X4, X6, mergesortcE_in_gg(X5, []))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U30_gg(X3, X4, X6, mergesortcE_in_gg(X5, X4))
U35_ga(X3, mergecC_out_gga(.(X8), X9, X5)) → mergesortcE_out_ga(.(.(X3)), .(X5))
U28_gg(X3, X4, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X3, X4, mergesortcE_in_gg(X6, X4))
U30_gg(X3, X4, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X3, X4, mergesortcE_in_gg(X6, []))
mergecC_in_gga(X1, []) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X2), .(X3)) → U36_gga(X2, X3, mergecC_in_gga(.(X2), X3))
U29_gg(X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(.(X3)), X4)
mergesortcE_in_gg(.([]), .([])) → mergesortcE_out_gg(.([]), .([]))
mergesortcE_in_gg(.(.(X3)), .(X5)) → U32_gg(X3, X5, splitcD_in_agaa(.(X3)))
U31_gg(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(.(X3)), X4)
U36_gga(X2, X3, mergecC_out_gga(.(X2), X3, X4)) → mergecC_out_gga(.(X2), .(X3), .(X4))
U32_gg(X3, X5, splitcD_out_agaa(.(X3), X6, X7)) → U33_gg(X3, X5, X7, mergesortcE_in_ga(X6))
U33_gg(X3, X5, X7, mergesortcE_out_ga(X6, .(X8))) → U34_gg(X3, X5, X8, mergesortcE_in_ga(X7))
U34_gg(X3, X5, X8, mergesortcE_out_ga(X7, .(X9))) → U35_gg(X3, X5, mergecC_in_ggg(.(X8), X9, X5))
U35_gg(X3, X5, mergecC_out_ggg(.(X8), X9, X5)) → mergesortcE_out_gg(.(.(X3)), .(X5))
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X2), .(X3), .(X4)) → U36_ggg(X2, X3, X4, mergecC_in_ggg(.(X2), X3, X4))
U36_ggg(X2, X3, X4, mergecC_out_ggg(.(X2), X3, X4)) → mergecC_out_ggg(.(X2), .(X3), .(X4))
splitcD_in_agaa(x0)
mergesortcE_in_ga(x0)
U26_agaa(x0, x1)
U27_ga(x0, x1)
U32_ga(x0, x1)
splitcA_in_gaa(x0)
U28_ga(x0, x1, x2)
U30_ga(x0, x1, x2)
U33_ga(x0, x1, x2)
U21_gaa(x0, x1)
mergesortcE_in_gg(x0, x1)
U29_ga(x0, x1)
U31_ga(x0, x1, x2)
U34_ga(x0, x1, x2)
U27_gg(x0, x1, x2)
U35_ga(x0, x1)
U28_gg(x0, x1, x2, x3)
U30_gg(x0, x1, x2, x3)
mergecC_in_gga(x0, x1)
U29_gg(x0, x1, x2)
U31_gg(x0, x1, x2)
U36_gga(x0, x1, x2)
U32_gg(x0, x1, x2)
U33_gg(x0, x1, x2, x3)
U34_gg(x0, x1, x2, x3)
U35_gg(x0, x1, x2)
mergecC_in_ggg(x0, x1, x2)
U36_ggg(x0, x1, x2, x3)
MERGESORTE_IN_GA(.(.(X3))) → U4_GA(X3, U26_agaa(.(X3), U21_gaa(X3, splitcA_in_gaa(X3))))
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → MERGESORTE_IN_GA(X5)
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → U6_GA(X3, X6, mergesortcE_in_ga(X5))
U6_GA(X3, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6)
MERGESORTE_IN_GA(.(.(X3))) → U4_GA(X3, U26_agaa(.(X3), U21_gaa(X3, splitcA_in_gaa(X3))))
splitcD_in_agaa(X2) → U26_agaa(X2, splitcA_in_gaa(X2))
mergesortcE_in_ga([]) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.([])) → mergesortcE_out_ga(.([]), .([]))
mergesortcE_in_ga(.(.(X3))) → U27_ga(X3, splitcD_in_agaa(.(X3)))
mergesortcE_in_ga(.(.(X3))) → U32_ga(X3, splitcD_in_agaa(.(X3)))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U28_ga(X3, X6, mergesortcE_in_gg(X5, []))
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U30_ga(X3, X6, mergesortcE_in_ga(X5))
U32_ga(X3, splitcD_out_agaa(.(X3), X6, X7)) → U33_ga(X3, X7, mergesortcE_in_ga(X6))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U28_ga(X3, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X3, mergesortcE_in_ga(X6))
U30_ga(X3, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X3, X4, mergesortcE_in_gg(X6, []))
U33_ga(X3, X7, mergesortcE_out_ga(X6, .(X8))) → U34_ga(X3, X8, mergesortcE_in_ga(X7))
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(.(X3)), X4) → U27_gg(X3, X4, splitcD_in_agaa(.(X3)))
U29_ga(X3, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(.(X3)), X4)
U31_ga(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(.(X3)), X4)
U34_ga(X3, X8, mergesortcE_out_ga(X7, .(X9))) → U35_ga(X3, mergecC_in_gga(.(X8), X9))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U28_gg(X3, X4, X6, mergesortcE_in_gg(X5, []))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U30_gg(X3, X4, X6, mergesortcE_in_gg(X5, X4))
U35_ga(X3, mergecC_out_gga(.(X8), X9, X5)) → mergesortcE_out_ga(.(.(X3)), .(X5))
U28_gg(X3, X4, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X3, X4, mergesortcE_in_gg(X6, X4))
U30_gg(X3, X4, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X3, X4, mergesortcE_in_gg(X6, []))
mergecC_in_gga(X1, []) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X2), .(X3)) → U36_gga(X2, X3, mergecC_in_gga(.(X2), X3))
U29_gg(X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(.(X3)), X4)
mergesortcE_in_gg(.([]), .([])) → mergesortcE_out_gg(.([]), .([]))
mergesortcE_in_gg(.(.(X3)), .(X5)) → U32_gg(X3, X5, splitcD_in_agaa(.(X3)))
U31_gg(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(.(X3)), X4)
U36_gga(X2, X3, mergecC_out_gga(.(X2), X3, X4)) → mergecC_out_gga(.(X2), .(X3), .(X4))
U32_gg(X3, X5, splitcD_out_agaa(.(X3), X6, X7)) → U33_gg(X3, X5, X7, mergesortcE_in_ga(X6))
U33_gg(X3, X5, X7, mergesortcE_out_ga(X6, .(X8))) → U34_gg(X3, X5, X8, mergesortcE_in_ga(X7))
U34_gg(X3, X5, X8, mergesortcE_out_ga(X7, .(X9))) → U35_gg(X3, X5, mergecC_in_ggg(.(X8), X9, X5))
U35_gg(X3, X5, mergecC_out_ggg(.(X8), X9, X5)) → mergesortcE_out_gg(.(.(X3)), .(X5))
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X2), .(X3), .(X4)) → U36_ggg(X2, X3, X4, mergecC_in_ggg(.(X2), X3, X4))
U36_ggg(X2, X3, X4, mergecC_out_ggg(.(X2), X3, X4)) → mergecC_out_ggg(.(X2), .(X3), .(X4))
splitcD_in_agaa(x0)
mergesortcE_in_ga(x0)
U26_agaa(x0, x1)
U27_ga(x0, x1)
U32_ga(x0, x1)
splitcA_in_gaa(x0)
U28_ga(x0, x1, x2)
U30_ga(x0, x1, x2)
U33_ga(x0, x1, x2)
U21_gaa(x0, x1)
mergesortcE_in_gg(x0, x1)
U29_ga(x0, x1)
U31_ga(x0, x1, x2)
U34_ga(x0, x1, x2)
U27_gg(x0, x1, x2)
U35_ga(x0, x1)
U28_gg(x0, x1, x2, x3)
U30_gg(x0, x1, x2, x3)
mergecC_in_gga(x0, x1)
U29_gg(x0, x1, x2)
U31_gg(x0, x1, x2)
U36_gga(x0, x1, x2)
U32_gg(x0, x1, x2)
U33_gg(x0, x1, x2, x3)
U34_gg(x0, x1, x2, x3)
U35_gg(x0, x1, x2)
mergecC_in_ggg(x0, x1, x2)
U36_ggg(x0, x1, x2, x3)
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → MERGESORTE_IN_GA(X5)
U4_GA(X3, splitcD_out_agaa(.(X3), X5, X6)) → U6_GA(X3, X6, mergesortcE_in_ga(X5))
POL(.(x1)) = 1 + 2·x1
POL(MERGESORTE_IN_GA(x1)) = 1 + x1
POL(U21_gaa(x1, x2)) = 1 + 2·x2
POL(U26_agaa(x1, x2)) = 1 + x1 + x2
POL(U27_ga(x1, x2)) = 0
POL(U27_gg(x1, x2, x3)) = 2·x1 + 2·x2
POL(U28_ga(x1, x2, x3)) = 0
POL(U28_gg(x1, x2, x3, x4)) = x1
POL(U29_ga(x1, x2)) = 0
POL(U29_gg(x1, x2, x3)) = 0
POL(U30_ga(x1, x2, x3)) = 0
POL(U30_gg(x1, x2, x3, x4)) = 2·x1 + 2·x2
POL(U31_ga(x1, x2, x3)) = 0
POL(U31_gg(x1, x2, x3)) = 2·x1 + x2
POL(U32_ga(x1, x2)) = 0
POL(U32_gg(x1, x2, x3)) = 2 + 2·x2
POL(U33_ga(x1, x2, x3)) = 0
POL(U33_gg(x1, x2, x3, x4)) = 2 + x2
POL(U34_ga(x1, x2, x3)) = 0
POL(U34_gg(x1, x2, x3, x4)) = 2 + x2
POL(U35_ga(x1, x2)) = 0
POL(U35_gg(x1, x2, x3)) = 1
POL(U36_gga(x1, x2, x3)) = 0
POL(U36_ggg(x1, x2, x3, x4)) = 2
POL(U4_GA(x1, x2)) = 1 + x2
POL(U6_GA(x1, x2, x3)) = 1 + x1 + x2
POL([]) = 0
POL(mergecC_in_gga(x1, x2)) = 0
POL(mergecC_in_ggg(x1, x2, x3)) = 2
POL(mergecC_out_gga(x1, x2, x3)) = 0
POL(mergecC_out_ggg(x1, x2, x3)) = 0
POL(mergesortcE_in_ga(x1)) = 1
POL(mergesortcE_in_gg(x1, x2)) = 2 + 2·x1 + 2·x2
POL(mergesortcE_out_ga(x1, x2)) = 0
POL(mergesortcE_out_gg(x1, x2)) = 0
POL(splitcA_in_gaa(x1)) = x1
POL(splitcA_out_gaa(x1, x2, x3)) = x2 + 2·x3
POL(splitcD_in_agaa(x1)) = 2 + 2·x1
POL(splitcD_out_agaa(x1, x2, x3)) = x1 + x2 + x3
U6_GA(X3, X6, mergesortcE_out_ga(X5, X7)) → MERGESORTE_IN_GA(X6)
MERGESORTE_IN_GA(.(.(X3))) → U4_GA(X3, U26_agaa(.(X3), U21_gaa(X3, splitcA_in_gaa(X3))))
splitcD_in_agaa(X2) → U26_agaa(X2, splitcA_in_gaa(X2))
mergesortcE_in_ga([]) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.([])) → mergesortcE_out_ga(.([]), .([]))
mergesortcE_in_ga(.(.(X3))) → U27_ga(X3, splitcD_in_agaa(.(X3)))
mergesortcE_in_ga(.(.(X3))) → U32_ga(X3, splitcD_in_agaa(.(X3)))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U28_ga(X3, X6, mergesortcE_in_gg(X5, []))
U27_ga(X3, splitcD_out_agaa(.(X3), X5, X6)) → U30_ga(X3, X6, mergesortcE_in_ga(X5))
U32_ga(X3, splitcD_out_agaa(.(X3), X6, X7)) → U33_ga(X3, X7, mergesortcE_in_ga(X6))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U28_ga(X3, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X3, mergesortcE_in_ga(X6))
U30_ga(X3, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X3, X4, mergesortcE_in_gg(X6, []))
U33_ga(X3, X7, mergesortcE_out_ga(X6, .(X8))) → U34_ga(X3, X8, mergesortcE_in_ga(X7))
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(.(X3)), X4) → U27_gg(X3, X4, splitcD_in_agaa(.(X3)))
U29_ga(X3, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(.(X3)), X4)
U31_ga(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(.(X3)), X4)
U34_ga(X3, X8, mergesortcE_out_ga(X7, .(X9))) → U35_ga(X3, mergecC_in_gga(.(X8), X9))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U28_gg(X3, X4, X6, mergesortcE_in_gg(X5, []))
U27_gg(X3, X4, splitcD_out_agaa(.(X3), X5, X6)) → U30_gg(X3, X4, X6, mergesortcE_in_gg(X5, X4))
U35_ga(X3, mergecC_out_gga(.(X8), X9, X5)) → mergesortcE_out_ga(.(.(X3)), .(X5))
U28_gg(X3, X4, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X3, X4, mergesortcE_in_gg(X6, X4))
U30_gg(X3, X4, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X3, X4, mergesortcE_in_gg(X6, []))
mergecC_in_gga(X1, []) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X2), .(X3)) → U36_gga(X2, X3, mergecC_in_gga(.(X2), X3))
U29_gg(X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(.(X3)), X4)
mergesortcE_in_gg(.([]), .([])) → mergesortcE_out_gg(.([]), .([]))
mergesortcE_in_gg(.(.(X3)), .(X5)) → U32_gg(X3, X5, splitcD_in_agaa(.(X3)))
U31_gg(X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(.(X3)), X4)
U36_gga(X2, X3, mergecC_out_gga(.(X2), X3, X4)) → mergecC_out_gga(.(X2), .(X3), .(X4))
U32_gg(X3, X5, splitcD_out_agaa(.(X3), X6, X7)) → U33_gg(X3, X5, X7, mergesortcE_in_ga(X6))
U33_gg(X3, X5, X7, mergesortcE_out_ga(X6, .(X8))) → U34_gg(X3, X5, X8, mergesortcE_in_ga(X7))
U34_gg(X3, X5, X8, mergesortcE_out_ga(X7, .(X9))) → U35_gg(X3, X5, mergecC_in_ggg(.(X8), X9, X5))
U35_gg(X3, X5, mergecC_out_ggg(.(X8), X9, X5)) → mergesortcE_out_gg(.(.(X3)), .(X5))
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X2), .(X3), .(X4)) → U36_ggg(X2, X3, X4, mergecC_in_ggg(.(X2), X3, X4))
U36_ggg(X2, X3, X4, mergecC_out_ggg(.(X2), X3, X4)) → mergecC_out_ggg(.(X2), .(X3), .(X4))
splitcD_in_agaa(x0)
mergesortcE_in_ga(x0)
U26_agaa(x0, x1)
U27_ga(x0, x1)
U32_ga(x0, x1)
splitcA_in_gaa(x0)
U28_ga(x0, x1, x2)
U30_ga(x0, x1, x2)
U33_ga(x0, x1, x2)
U21_gaa(x0, x1)
mergesortcE_in_gg(x0, x1)
U29_ga(x0, x1)
U31_ga(x0, x1, x2)
U34_ga(x0, x1, x2)
U27_gg(x0, x1, x2)
U35_ga(x0, x1)
U28_gg(x0, x1, x2, x3)
U30_gg(x0, x1, x2, x3)
mergecC_in_gga(x0, x1)
U29_gg(x0, x1, x2)
U31_gg(x0, x1, x2)
U36_gga(x0, x1, x2)
U32_gg(x0, x1, x2)
U33_gg(x0, x1, x2, x3)
U34_gg(x0, x1, x2, x3)
U35_gg(x0, x1, x2)
mergecC_in_ggg(x0, x1, x2)
U36_ggg(x0, x1, x2, x3)
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → U14_GA(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → MERGESORTB_IN_GA(.(X1, X6), X7)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
mergesortcB_in_ga([], []) → mergesortcB_out_ga([], [])
mergesortcB_in_ga(.(X1, []), .(X1, [])) → mergesortcB_out_ga(.(X1, []), .(X1, []))
mergesortcB_in_ga(.(X1, .(X2, X3)), X4) → U22_ga(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U22_ga(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_in_ga(.(X1, X6), X7))
U23_ga(X1, X2, X3, X4, X5, X6, mergesortcB_out_ga(.(X1, X6), X7)) → U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X5, X8))
mergesortcE_in_ga([], []) → mergesortcE_out_ga([], [])
mergesortcE_in_ga(.(X1, []), .(X1, [])) → mergesortcE_out_ga(.(X1, []), .(X1, []))
mergesortcE_in_ga(.(X1, .(X2, X3)), X4) → U27_ga(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg([], []) → mergesortcE_out_gg([], [])
mergesortcE_in_gg(.(X1, []), .(X1, [])) → mergesortcE_out_gg(.(X1, []), .(X1, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), X4) → U27_gg(X1, X2, X3, X4, splitcD_in_agaa(X1, .(X2, X3), X5, X6))
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, []))
mergesortcE_in_gg(.(X1, .(X2, X3)), .(X4, X5)) → U32_gg(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_gg(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
mergesortcE_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U32_ga(X1, X2, X3, X4, X5, splitcD_in_agaa(X1, .(X2, X3), X6, X7))
U32_ga(X1, X2, X3, X4, X5, splitcD_out_agaa(X1, .(X2, X3), X6, X7)) → U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_in_ga(X6, .(X4, X8)))
U33_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_ga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_ga(X1, X2, X3, X4, X5, mergecC_in_gga(.(X4, X8), X9, X5))
mergecC_in_gga([], X1, X1) → mergecC_out_gga([], X1, X1)
mergecC_in_gga(X1, [], X1) → mergecC_out_gga(X1, [], X1)
mergecC_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_gga(X1, X2, X3, X4, mergecC_in_gga(.(X1, X2), X3, X4))
U36_gga(X1, X2, X3, X4, mergecC_out_gga(.(X1, X2), X3, X4)) → mergecC_out_gga(.(X1, X2), .(X1, X3), .(X1, X4))
U35_ga(X1, X2, X3, X4, X5, mergecC_out_gga(.(X4, X8), X9, X5)) → mergesortcE_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U33_gg(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X6, .(X4, X8))) → U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X7, .(X4, X9)))
U34_gg(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X7, .(X4, X9))) → U35_gg(X1, X2, X3, X4, X5, mergecC_in_ggg(.(X4, X8), X9, X5))
mergecC_in_ggg([], X1, X1) → mergecC_out_ggg([], X1, X1)
mergecC_in_ggg(X1, [], X1) → mergecC_out_ggg(X1, [], X1)
mergecC_in_ggg(.(X1, X2), .(X1, X3), .(X1, X4)) → U36_ggg(X1, X2, X3, X4, mergecC_in_ggg(.(X1, X2), X3, X4))
U36_ggg(X1, X2, X3, X4, mergecC_out_ggg(.(X1, X2), X3, X4)) → mergecC_out_ggg(.(X1, X2), .(X1, X3), .(X1, X4))
U35_gg(X1, X2, X3, X4, X5, mergecC_out_ggg(.(X4, X8), X9, X5)) → mergesortcE_out_gg(.(X1, .(X2, X3)), .(X4, X5))
U28_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, X4))
U29_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, X4)) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U27_gg(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_in_gg(X5, X4))
U30_gg(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, X4)) → U31_gg(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_gg(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_gg(.(X1, .(X2, X3)), X4)
U28_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_gg(X5, [])) → U29_ga(X1, X2, X3, X4, mergesortcE_in_ga(X6, X4))
U29_ga(X1, X2, X3, X4, mergesortcE_out_ga(X6, X4)) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U27_ga(X1, X2, X3, X4, splitcD_out_agaa(X1, .(X2, X3), X5, X6)) → U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_in_ga(X5, X4))
U30_ga(X1, X2, X3, X4, X5, X6, mergesortcE_out_ga(X5, X4)) → U31_ga(X1, X2, X3, X4, mergesortcE_in_gg(X6, []))
U31_ga(X1, X2, X3, X4, mergesortcE_out_gg(X6, [])) → mergesortcE_out_ga(.(X1, .(X2, X3)), X4)
U24_ga(X1, X2, X3, X4, X5, X6, X7, mergesortcE_out_ga(X5, X8)) → U25_ga(X1, X2, X3, X4, mergecC_in_gga(X7, X8, X4))
U25_ga(X1, X2, X3, X4, mergecC_out_gga(X7, X8, X4)) → mergesortcB_out_ga(.(X1, .(X2, X3)), X4)
MERGESORTB_IN_GA(.(X1, .(X2, X3)), X4) → U14_GA(X1, X2, X3, X4, splitcD_in_agaa(X2, X3, X5, X6))
U14_GA(X1, X2, X3, X4, splitcD_out_agaa(X2, X3, X5, X6)) → MERGESORTB_IN_GA(.(X1, X6), X7)
splitcD_in_agaa(X1, X2, .(X1, X3), X4) → U26_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U26_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X1, X2, .(X1, X3), X4)
splitcA_in_gaa([], [], []) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) → U21_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3))
U21_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X1, X2), .(X1, X3), X4)
MERGESORTB_IN_GA(.(.(X3))) → U14_GA(X3, splitcD_in_agaa(X3))
U14_GA(X3, splitcD_out_agaa(X3, X5, X6)) → MERGESORTB_IN_GA(.(X6))
splitcD_in_agaa(X2) → U26_agaa(X2, splitcA_in_gaa(X2))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
splitcD_in_agaa(x0)
U26_agaa(x0, x1)
splitcA_in_gaa(x0)
U21_gaa(x0, x1)
MERGESORTB_IN_GA(.(.(X3))) → U14_GA(X3, U26_agaa(X3, splitcA_in_gaa(X3)))
U14_GA(X3, splitcD_out_agaa(X3, X5, X6)) → MERGESORTB_IN_GA(.(X6))
MERGESORTB_IN_GA(.(.(X3))) → U14_GA(X3, U26_agaa(X3, splitcA_in_gaa(X3)))
splitcD_in_agaa(X2) → U26_agaa(X2, splitcA_in_gaa(X2))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
splitcD_in_agaa(x0)
U26_agaa(x0, x1)
splitcA_in_gaa(x0)
U21_gaa(x0, x1)
U14_GA(X3, splitcD_out_agaa(X3, X5, X6)) → MERGESORTB_IN_GA(.(X6))
MERGESORTB_IN_GA(.(.(X3))) → U14_GA(X3, U26_agaa(X3, splitcA_in_gaa(X3)))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
splitcD_in_agaa(x0)
U26_agaa(x0, x1)
splitcA_in_gaa(x0)
U21_gaa(x0, x1)
splitcD_in_agaa(x0)
U14_GA(X3, splitcD_out_agaa(X3, X5, X6)) → MERGESORTB_IN_GA(.(X6))
MERGESORTB_IN_GA(.(.(X3))) → U14_GA(X3, U26_agaa(X3, splitcA_in_gaa(X3)))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
U26_agaa(x0, x1)
splitcA_in_gaa(x0)
U21_gaa(x0, x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U14_GA(X3, splitcD_out_agaa(X3, X5, X6)) → MERGESORTB_IN_GA(.(X6))
POL(.(x1)) = 1 + x1
POL(MERGESORTB_IN_GA(x1)) = x1
POL(U14_GA(x1, x2)) = 1 + x2
POL(U21_gaa(x1, x2)) = 1 + x2
POL(U26_agaa(x1, x2)) = 1 + x2
POL([]) = 0
POL(splitcA_in_gaa(x1)) = x1
POL(splitcA_out_gaa(x1, x2, x3)) = x2 + x3
POL(splitcD_out_agaa(x1, x2, x3)) = 1 + x3
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
MERGESORTB_IN_GA(.(.(X3))) → U14_GA(X3, U26_agaa(X3, splitcA_in_gaa(X3)))
splitcA_in_gaa([]) → splitcA_out_gaa([], [], [])
splitcA_in_gaa(.(X2)) → U21_gaa(X2, splitcA_in_gaa(X2))
U26_agaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcD_out_agaa(X2, .(X3), X4)
U21_gaa(X2, splitcA_out_gaa(X2, X4, X3)) → splitcA_out_gaa(.(X2), .(X3), X4)
U26_agaa(x0, x1)
splitcA_in_gaa(x0)
U21_gaa(x0, x1)